Semi-naive Evaluation of F-logic Programs
نویسنده
چکیده
The semi-naive evaluation strategy is one of the most common optimization techniques for enhancing bottom-up evaluation in the eld of deductive databases. It is almost a must for a deductive database system to have this strategy implemented. F-logic is a powerful language combining the advantages of deductive databases with the rich modelling capabilities of object oriented concepts (objects, methods, class hierarchy, non-monotonic inheritance, signatures). As the syntax and semantics of F-logic are much more powerful than that of Datalog, no suitable notion of uniication exists so that the strategy of semi-naive evaluation is not applicable in a straightforward way. This paper investigates the diiculties arising and presents an algorithm for an incremental bottom-up evaluation of F-logic programs which has been implemented by the FLORID prototype.
منابع مشابه
Pseudo-Naive Evaluation
We introduce pseudo-naive evaluation, a method for execution of mixed top-down/bottom-up logic programs and deductive databases. The method is intermediate in power between naive evaluation and semi-naive evaluation. Pseudo-naive evaluation adds a data-driven component to naive evaluation without explicitly collecting the ‘delta’ sets of new facts derivable at each iteration. Instead, it identi...
متن کاملRule Ordering in Bottom-Up Fixpoint Evaluation of Logic Programs
Logic programs can be evaluated bottom-up by repeatedly applying all rules, in “iterations”, until the fixpoint is reached. However, it is often desirable — and in some cases, e.g. programs with stratified negation, even necessary to guarantee the semantics — to apply the rules in some order. An important property of a fixpoint evaluation algorithm is that it does not repeat inferences; we say ...
متن کاملThe Differential Fixpoint of General Logic Programs
We present a version of the alternating xpoint procedure that is fully incremental. Using ideas of partial evaluation techniques we can compute the well-founded model of logic programs with negation bottom-up without any recomputations. Further extensions of the semantics, e.g. to stable models or disjunctive programs are possible this way. We show how to implement the algorithm eeciently using...
متن کاملEfficient Implementation of Loops in Bottom-Up Evaluation of Logic Queries
We consider the efficient implementation of the bottom-up evaluation method for recursive queries in logic databases. In the bottom-up evaluation algorithms the non-mutually-recursive rules are evaluated in certain order, whereas the evaluation order within a set of the mutually recursive rules is free. However, significant savings in join operations can be achieved by arranging the mutually re...
متن کاملTaking I/O Seriously: Resolution Reconsidered for Disk
Modern compilation techniques can give Prolog programs, in the best cases, a speed comparable to C. However, Prolog has proven to be unacceptable for data-oriented queries for two major reasons: its sometimes poor termination and complexity properties for Datalog, and its tuple-at-a-time strategy. A number of tabling frameworks and systems have addressed the rst problem, most notably the XSB sy...
متن کامل